Zeus Tech Note
Determining the Playback Platform
(This document last revised May 7, 1997)
Copyright © 1996-1997. Zeus
Productions. All Rights Reserved.
Written by Bruce A. Epstein
Relevant Lingo Commands:
the platform
(Director
5.0 and higher)
the machineType
Relevant Xtras and XObjects:
zWinVer
Q. Why would I need to know the playback platform at Run-Time?
Ideally, you would like to run the exact same
Director presentation on all platforms. In practice, this is not always
possible, due to platform-specific items such as Xtras ond XObjects. Furthermore
you may not intend to support all platforms, and want to warn the user if
they inadvertently try to play your PowerMac-only presentation on a Standard
Macintosh, or your Windows 95-only product under Windows 3.1 or NT.
Q. How do I determine the playback platform at Run-Time?
Let's be clear on what we mean by the "playback
platform". On the most basic level, we want to distinguish between
Macintosh and Windows PCs. This is done using Lingo's the machineType
command. But the machineType
only determines the hardware (whether
you are running on a Macintosh or a PC), not the Windows OS version, nor
the processor type.
Lingo's the machineType
command returns the value 256 for all
IBM-PC compatible (non-Macintosh) computers. Director 5.0 introduced the
platform
command does not return the true platform on which a projector
is running, it simply returns the type of projector being executed. It
does not accurately determine the Windows OS version or Mac processor type.
Via Lingo alone, it is impossible to determine if a 16-bit projector is
running under Windows 3.1 or under Windows 95. Likewise, Lingo can not distinguish
between a 32-bit projector under Windows 95 or Windows NT. Zeus's zWinVer
utility always returns the true Windows OS version regardless of the Projector
type.
Q. How do I distinguish between Macs and PCs at Run-Time?
Lingo's the machineType
returns
256 for IBM-compatible computers, and a number less than 256 for Macintosh
models. The codes it returns may not be highly reliable, as some users change
their processors. Zeus offers utilities to determine the true processor
and other information about the Macintosh model.
Use this checkPlatform
handler to determine whether you are
on a Mac or PC, and then use a global variable (gMacPlatform
)
to branch accordingly.
on checkPlatform
global gMacPlatform
if the machineType = 256 then
-- You could also use, "if the platform starts "Windows"then..."
set gMacPlatform = FALSE
else
set gMacPlatform = TRUE
end if
end checkPlatform
on someHandler
global gMacPlatform
checkPlatform()
if gMacPlatform = TRUE then
-- Do some Mac-specific stuff
else
-- Do some PC-specific stuff
end if
end someHandler
Q. How do I determine the Windows OS version at Run-Time?
The most reliable method of checking the Windows
OS version is Zeus zWinVer utility.
Lingo's
"the platform
" does NOT return
the true Windows OS version, it returns whether the PROJECTOR is 16-bit
or 32-bit.
Warning: Lingo's the
platform
returns "Windows, 16" when running a 16-bit
projector under Windows 95, not "Windows,32" as you might expect.
Use the zWinVer utility from Zeus
Productions to determine the OS accurately.
In Director 4.0, there is no built-in way to determine the Windows platform.
For Director 5.0, if you can guarantee that your users will always be running
only a 32-bit projector under Windows 95, then you can reliably use "the
platform
". Otherwise, inquire about the zWinVer
utility, which reliably returns the Windows OS version.
Q. How do I make sure my users start the correct Windows Projector (16-bit
or 32-bit)?
You can exercise one of several options:
- Make sure that the installer installs the correct projector for your
user's system. Many installers can determine the OS version and take appropriate
steps. The Lingo command
the platform
can then be used reliably.
- Use the "launcher" utility that comes in the Goodies directory
on the Director 5.0 for Windows CD from Macromedia. It will determine which
of the two projectors (16-bit or 32-bit) to start, similar to a FAT Mac
68K/PPC projector in effect if not substance. It's reliability has not
been verified by Zeus, so YMMV.
- Use a 16-bit projector, even under Windows 95. You can use the zWinVer
utility from Zeus Productions to determine the correct platform. zWinVer
works for both Director 4.0 and Director 5.0.
Q. How do I determine the Mac Processor Type (68K or PowerPC) at Run-Time?
There is no built-in Lingo to determine the
Macintosh processor type. Lingo's the machineType
command
will indicate the Macintosh model, but it is unreliable when users upgrade
their processors, and it is difficult to keep the list of Macintosh models
up to date. The easiest approach is to build a Fat Binary Projector, and
then use Lingo's the platform
command to determine the processor type. Some third party utilities may
indicate whether the processor is a PowerPC.
Home (Spotlight) | Table
of Contents | Links | Contact
Info
Place an Order | Products
for Sale | Licensing | Downloads
TechNotes | FAQs
| E-Mail Zeus | GuestBook
| Glossary
Copyright © 1996-1997. Zeus
Productions. All Rights Reserved.